{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 导入相关依赖库\n",
    "import  os\n",
    "import csv\n",
    "import time\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "import mindspore as ms\n",
    "import mindspore.dataset as ds\n",
    "import mindspore.context as context\n",
    "import mindspore.dataset.transforms.c_transforms as C\n",
    "import mindspore.dataset.vision.c_transforms as CV\n",
    "\n",
    "from mindspore import nn, Tensor\n",
    "from mindspore.train import Model\n",
    "from mindspore.nn.metrics import Accuracy, MAE, MSE\n",
    "from mindspore.train.serialization import load_checkpoint, load_param_into_net\n",
    "from mindspore.train.callback import ModelCheckpoint, CheckpointConfig, LossMonitor, TimeMonitor\n",
    "\n",
    "context.set_context(mode=context.GRAPH_MODE, device_target='GPU')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[['25.0   4   110.0      87.00      2672.      17.5   70  2\\t\"peugeot 504\"'], ['24.0   4   107.0      90.00      2430.      14.5   70  2\\t\"audi 100 ls\"'], ['25.0   4   104.0      95.00      2375.      17.5   70  2\\t\"saab 99e\"'], ['26.0   4   121.0      113.0      2234.      12.5   70  2\\t\"bmw 2002\"'], ['21.0   6   199.0      90.00      2648.      15.0   70  1\\t\"amc gremlin\"'], ['10.0   8   360.0      215.0      4615.      14.0   70  1\\t\"ford f250\"'], ['10.0   8   307.0      200.0      4376.      15.0   70  1\\t\"chevy c20\"'], ['11.0   8   318.0      210.0      4382.      13.5   70  1\\t\"dodge d200\"'], ['9.0    8   304.0      193.0      4732.      18.5   70  1\\t\"hi 1200d\"'], ['27.0   4   97.00      88.00      2130.      14.5   71  3\\t\"datsun pl510\"'], ['28.0   4   140.0      90.00      2264.      15.5   71  1\\t\"chevrolet vega 2300\"'], ['25.0   4   113.0      95.00      2228.      14.0   71  3\\t\"toyota corona\"'], ['25.0   4   98.00      ?          2046.      19.0   71  1\\t\"ford pinto\"'], ['19.0   6   232.0      100.0      2634.      13.0   71  1\\t\"amc gremlin\"'], ['16.0   6   225.0      105.0      3439.      15.5   71  1\\t\"plymouth satellite custom\"'], ['17.0   6   250.0      100.0      3329.      15.5   71  1\\t\"chevrolet chevelle malibu\"'], ['19.0   6   250.0      88.00      3302.      15.5   71  1\\t\"ford torino 500\"'], ['18.0   6   232.0      100.0      3288.      15.5   71  1\\t\"amc matador\"'], ['14.0   8   350.0      165.0      4209.      12.0   71  1\\t\"chevrolet impala\"'], ['14.0   8   400.0      175.0      4464.      11.5   71  1\\t\"pontiac catalina brougham\"']]\n"
     ]
    }
   ],
   "source": [
    "# 加载数据集\n",
    "with open('auto-mpg.data') as csv_file:\n",
    "    data = list(csv.reader(csv_file, delimiter=','))\n",
    "print(data[20:40]) # 打印部分数据"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [
    {
     "data": {
      "text/plain": "(398, 8)"
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用pandas读取数据\n",
    "column_names = ['MPG','Cylinders','Displacement','Horsepower','Weight',\n",
    "                'Acceleration', 'Model Year', 'Origin']\n",
    "# 遇到？换成nan，忽略\\t之后的内容，以空格作为分隔符。\n",
    "raw_data = pd.read_csv('auto-mpg.data', names=column_names,\n",
    "                      na_values = \"?\", comment='\\t',\n",
    "                      sep=\" \", skipinitialspace=True)\n",
    "\n",
    "data = raw_data.copy()\n",
    "\n",
    "# 查看数据形状\n",
    "data.shape"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [],
   "source": [
    "# 对于数据集中的空值，我们要在建模前进行处理。此处空值的数据较少，我们直接进行删除。\n",
    "# 清洗空数据\n",
    "data = data.dropna()\n",
    "data.tail()\n",
    "# Pandas库提供了简单的数据集统计信息，我们可直接调用函数describe()进行查看。\n",
    "# 查看训练数据集的结构\n",
    "origin = data.pop('Origin')\n",
    "data_labels = data.pop('MPG')\n",
    "train_stats = data.describe()\n",
    "train_stats = train_stats.transpose()\n",
    "train_stats\n",
    "# 归一化数据\n",
    "def norm(x):\n",
    "    return (x - train_stats['mean']) / train_stats['std']\n",
    "\n",
    "normed_data = norm(data)\n",
    "# 将MPG放回归一化后的数据中\n",
    "normed_data['MPG'] = data_labels\n",
    "# 离散特征处理\n",
    "# 特征Origin代表着车辆的归属区域信息，此处总共分为三种，欧洲，美国，日本，我们需要对此特征进行one-hot编码。\n",
    "# 对origin属性进行one-hot编码\n",
    "normed_data['USA'] = (origin == 1)*1.0\n",
    "normed_data['Europe'] = (origin == 2)*1.0\n",
    "normed_data['Japan'] = (origin == 3)*1.0"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练数据x尺寸： (314, 9)\n",
      "训练数据y尺寸： (314,)\n",
      "测试数据x尺寸： (78, 9)\n",
      "测试数据y尺寸： (78,)\n"
     ]
    }
   ],
   "source": [
    "# 将数据集按照4：1划分成训练集和测试集\n",
    "train_dataset = normed_data.sample(frac=0.8,random_state=0)\n",
    "test_dataset = normed_data.drop(train_dataset.index)\n",
    "\n",
    "# 模型训练需要区分特征值与目标值，也就是我们常说的X值与Y值，此处MPG为Y值，其余的特征为X值。\n",
    "# 将目标值和特征分开\n",
    "train_labels = train_dataset.pop('MPG')\n",
    "test_labels = test_dataset.pop('MPG')\n",
    "\n",
    "X_train, Y_train = np.array(train_dataset), np.array(train_labels)\n",
    "X_test, Y_test = np.array(test_dataset), np.array(test_labels)\n",
    "\n",
    "# 查看数据集尺寸\n",
    "print('训练数据x尺寸：',X_train.shape)\n",
    "print('训练数据y尺寸：',Y_train.shape)\n",
    "print('测试数据x尺寸：',X_test.shape)\n",
    "print('测试数据y尺寸：',Y_test.shape)\n",
    "# 将数据集转换为Tensor格式\n",
    "ds_xtrain= Tensor(X_train, ms.float32)\n",
    "ds_ytrain= Tensor(Y_train, ms.int32)\n",
    "\n",
    "ds_xtest=Tensor(X_test, ms.float32)\n",
    "ds_ytest=Tensor(Y_test, ms.int32)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [],
   "source": [
    "# 定义网络\n",
    "class Regression_car(nn.Cell):\n",
    "    def __init__(self):\n",
    "        super(Regression_car, self).__init__()\n",
    "        self.flatten = nn.Flatten()\n",
    "        self.relu = nn.ReLU()\n",
    "        self.fc1 = nn.Dense(9,64, activation='relu')\n",
    "        self.fc2 = nn.Dense(64,64, activation='relu')\n",
    "        self.fc3 = nn.Dense(64,1)\n",
    "\n",
    "\n",
    "    def construct(self, x):\n",
    "        x = self.flatten(x)\n",
    "        x = self.fc1(x)\n",
    "        x = self.fc2(x)\n",
    "        x = self.fc3(x)\n",
    "        return x"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "============== Starting Training ==============\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_36347/621868111.py:48: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "  result=result.append(pd.DataFrame({'_epoch':[epoch],'_loss':fl_loss,'_mae':Mae,'_mse':Mse,\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch:0,loss:24.76416269938151,mae:23.143284073525113,mse:594.1891461307944,val_mae:23.83012213272592,val_mse:632.4498788843521\n",
      "**************************************************************************************************************\n",
      "epoch:10,loss:24.728078206380207,mae:23.1263623974897,mse:593.4066265264784,val_mae:23.81320295122285,val_mse:631.6442566006209\n",
      "**************************************************************************************************************\n",
      "epoch:20,loss:24.69660186767578,mae:23.109477780996613,mse:592.6266912583422,val_mae:23.796319004434807,val_mse:630.841160618269\n",
      "**************************************************************************************************************\n",
      "epoch:30,loss:24.64728037516276,mae:23.082595561221716,mse:591.3871664998686,val_mae:23.76943325585662,val_mse:629.5643756479514\n",
      "**************************************************************************************************************\n",
      "epoch:40,loss:24.571792602539062,mae:23.04156765759371,mse:589.5082360566597,val_mae:23.728353578215227,val_mse:627.625673199418\n",
      "**************************************************************************************************************\n",
      "epoch:50,loss:24.41772715250651,mae:22.951472706950394,mse:585.4786358432037,val_mae:23.637322477232185,val_mse:623.416082115806\n",
      "**************************************************************************************************************\n",
      "epoch:60,loss:23.914718627929688,mae:22.65781964636912,mse:572.6898258057087,val_mae:23.337631025375465,val_mse:609.8724228138872\n",
      "**************************************************************************************************************\n",
      "epoch:70,loss:22.791849772135418,mae:22.016818821430206,mse:545.5861483774418,val_mae:22.681668448906677,val_mse:581.0441222347791\n",
      "**************************************************************************************************************\n",
      "epoch:80,loss:21.02602259318034,mae:20.985952274055236,mse:503.78598638169024,val_mae:21.62495624407744,val_mse:536.4203714052406\n",
      "**************************************************************************************************************\n",
      "epoch:90,loss:18.672269185384113,mae:19.533724301180264,mse:448.64368093578673,val_mae:20.133025416961082,val_mse:477.24191785381754\n",
      "**************************************************************************************************************\n",
      "epoch:100,loss:15.895276387532553,mae:17.659775364930464,mse:384.5153589138676,val_mae:18.213187942138084,val_mse:408.1176337414873\n",
      "**************************************************************************************************************\n",
      "epoch:110,loss:12.941020965576172,mae:15.675621858827627,mse:317.17678556608774,val_mae:16.130722210957455,val_mse:335.114977391702\n",
      "**************************************************************************************************************\n",
      "epoch:120,loss:10.104998270670572,mae:13.959662609039599,mse:253.20055635616126,val_mae:14.513757430590116,val_mse:265.153125008493\n",
      "**************************************************************************************************************\n",
      "epoch:130,loss:7.696427663167317,mae:12.640817025664505,mse:198.56673457497035,val_mae:13.059344340593388,val_mse:204.73238635585957\n",
      "**************************************************************************************************************\n",
      "epoch:140,loss:5.905249913533528,mae:11.287672750509469,mse:154.27659466766335,val_mae:11.55367567600348,val_mse:155.6222734802881\n",
      "**************************************************************************************************************\n",
      "epoch:150,loss:4.684142112731934,mae:9.657367435989865,mse:116.92756286378783,val_mae:9.85398933215019,val_mse:115.05692780720776\n",
      "**************************************************************************************************************\n",
      "epoch:160,loss:3.9214293162027993,mae:8.06066300155251,mse:88.40746884089641,val_mae:8.172167570163042,val_mse:84.9926668178693\n",
      "**************************************************************************************************************\n",
      "epoch:170,loss:3.4822518030802407,mae:6.947989907234338,mse:71.93280324672311,val_mae:6.979462220118596,val_mse:68.29941265677641\n",
      "**************************************************************************************************************\n",
      "epoch:180,loss:3.1726160049438477,mae:6.3827095213969045,mse:64.77978564578017,val_mae:6.41518217478043,val_mse:62.04483427394587\n",
      "**************************************************************************************************************\n",
      "epoch:190,loss:2.932840347290039,mae:6.167201318558614,mse:61.9935791975844,val_mae:6.277818997701009,val_mse:60.72920827377381\n",
      "**************************************************************************************************************\n",
      "epoch:200,loss:2.7678635915120444,mae:6.131862039019348,mse:60.84551076152271,val_mae:6.330683879363231,val_mse:61.12666946793522\n",
      "**************************************************************************************************************\n",
      "epoch:210,loss:2.660231272379557,mae:6.15436957292496,mse:60.12418077018588,val_mae:6.426787180778308,val_mse:61.75680702397982\n",
      "**************************************************************************************************************\n",
      "epoch:220,loss:2.585643927256266,mae:6.17338462392236,mse:59.17285368076968,val_mae:6.482765417832595,val_mse:61.80035022828363\n",
      "**************************************************************************************************************\n",
      "epoch:230,loss:2.532041072845459,mae:6.197640674129413,mse:58.29632770407116,val_mae:6.549287698207757,val_mse:61.540225267686765\n",
      "**************************************************************************************************************\n",
      "epoch:240,loss:2.4961727460225425,mae:6.273167938183827,mse:58.496749519782874,val_mae:6.673921682895759,val_mse:62.4914503439979\n",
      "**************************************************************************************************************\n",
      "epoch:250,loss:2.4751880963643393,mae:6.325215649452939,mse:58.758062882175544,val_mae:6.785366571866549,val_mse:63.6015862213376\n",
      "**************************************************************************************************************\n",
      "epoch:260,loss:2.4596741994222007,mae:6.366265260489883,mse:58.7183072698231,val_mae:6.851335305434007,val_mse:63.963246264597615\n",
      "**************************************************************************************************************\n",
      "epoch:270,loss:2.452613671620687,mae:6.413827161120761,mse:59.22236199009385,val_mae:6.928074323214018,val_mse:64.99843849190941\n",
      "**************************************************************************************************************\n",
      "epoch:280,loss:2.449568271636963,mae:6.4437332700012595,mse:59.67010845423945,val_mae:6.974127158140525,val_mse:65.84310975035828\n",
      "**************************************************************************************************************\n",
      "epoch:290,loss:2.447210947672526,mae:6.4548031691532985,mse:59.85590501509362,val_mae:6.994748849135179,val_mse:66.309040730606\n",
      "**************************************************************************************************************\n",
      "    _epoch      _loss       _mae        _mse    val_mae     val_mse\n",
      "0        0  24.764163  23.143284  594.189146  23.830122  632.449879\n",
      "1        1  24.757871  23.140899  594.078774  23.827738  632.336292\n",
      "2        2  24.753270  23.138887  593.985678  23.825726  632.240421\n",
      "3        3  24.749390  23.137086  593.902339  23.823924  632.154580\n",
      "4        4  24.745916  23.135415  593.825103  23.822254  632.075042\n",
      "..     ...        ...        ...         ...        ...         ...\n",
      "295    295   2.446818   6.294561   56.608560   6.773668   62.029958\n",
      "296    296   2.446548   6.459032   59.944719   7.002096   66.506658\n",
      "297    297   2.446460   6.295201   56.629011   6.775623   62.090510\n",
      "298    298   2.446223   6.459564   59.956354   7.003051   66.539750\n",
      "299    299   2.446174   6.296210   56.650573   6.777321   62.143790\n",
      "\n",
      "[300 rows x 6 columns]\n"
     ]
    }
   ],
   "source": [
    "# 定义网络，损失函数，评估指标，优化器\n",
    "network = Regression_car()\n",
    "net_loss = nn.MSELoss()\n",
    "net_opt = nn.RMSProp(network.trainable_params(), 0.001)\n",
    "\n",
    "# 使用单步训练的方式来使结果中打印出MAE、MSE\n",
    "# Cell是所有神经网络的基类。Cell可以是一个单一的神经网络单元，如conv2d、relu、batch_norm等，也可以是一个用于构建网络的单元的组合。\n",
    "# WithLossCell意味着使用损耗函数对网络进行包裹。此单元接受数据和标签作为输入，并返回计算的损耗。\n",
    "with_loss=nn.WithLossCell(network, net_loss)\n",
    "train_step = nn.TrainOneStepCell(with_loss, net_opt).set_train()\n",
    "# WithEvalCell返回loss、输出和标签的单元，用于评估。此单元接受网络和loss函数作为参数，并计算模型的loss。它返回loss、输出和标签来计算度量。\n",
    "evalcell=nn.WithEvalCell(network,net_loss)\n",
    "# 创建指标类\n",
    "mae = nn.MAE()\n",
    "mse = nn.MSE()\n",
    "val_mae = nn.MAE()\n",
    "val_mse = nn.MSE()\n",
    "\n",
    "# 创建一个空的Dataframe\n",
    "result =pd.DataFrame(columns=('_epoch','_loss','_mae','_mse','val_mae','val_mse'))\n",
    "print(\"============== Starting Training ==============\")\n",
    "for epoch in range(300):\n",
    "    # 利用train_step去接收训练集，更新网络参数得到loss值\n",
    "    loss = train_step(ds_xtrain,ds_ytrain)\n",
    "    # 利用evalcell接收训练集获取训练过程的输出用于计算mae和mse，接收测试集获取测试集输出\n",
    "    _, outputs, label = evalcell(ds_xtrain,ds_ytrain)\n",
    "    _, val_outputs, val_label = evalcell(ds_xtest,ds_ytest)\n",
    "\n",
    "    # 每次循环都更新MAE、MSE等的值。\n",
    "    mae.clear()\n",
    "    mae.update(outputs, label)\n",
    "    mse.clear()\n",
    "    mse.update(outputs, label)\n",
    "    val_mae.clear()\n",
    "    val_mae.update(val_outputs, val_label)\n",
    "    val_mse.clear()\n",
    "    val_mse.update(val_outputs, val_label)\n",
    "\n",
    "    Mae = mae.eval()\n",
    "    Mse = mse.eval()\n",
    "    Val_Mae = val_mae.eval()\n",
    "    Val_Mse = val_mse.eval()\n",
    "\n",
    "    nd_loss = loss.asnumpy()\n",
    "    fl_loss = float(nd_loss)/24.0\n",
    "\n",
    "    # 将计算结果逐行插入result,注意变量要用[]括起来,同时ignore_index=True，否则会报错，ValueError: If using all scalar values, you must pass an index\n",
    "    result=result.append(pd.DataFrame({'_epoch':[epoch],'_loss':fl_loss,'_mae':Mae,'_mse':Mse,\n",
    "                                       'val_mae':Val_Mae,'val_mse':Val_Mse}),ignore_index=True)\n",
    "\n",
    "    if epoch%10==0:\n",
    "        print('epoch:{0},loss:{1},mae:{2},mse:{3},val_mae:{4},val_mse:{5}'.format(epoch,fl_loss,Mae,Mse,\n",
    "                                                                                               Val_Mae,Val_Mse))\n",
    "        print(\"*\" * 110)\n",
    "print(result)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAG2CAYAAACXuTmvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABnw0lEQVR4nO3dd3wUdf7H8ddseg8B0iD03iLdUBSlBFAUREVEKSKcCjbEU/xZkFPx9M52eFghciooChZUFJAivYZOpIeShJqEJKTu/P4YWI0UE0yySfb9fDzmkdlp+9lJcN9+5zvfMUzTNBERERFxITZnFyAiIiJS1hSARERExOUoAImIiIjLUQASERERl6MAJCIiIi5HAUhERERcjgKQiIiIuBwFIBEREXE5CkAiIiLichSARERExOU4NQBNnjyZ9u3bExAQQGhoKP379ychIaHQNtnZ2YwZM4aqVavi7+/PwIEDSUlJuexxTdPk2WefJSIiAh8fH3r06MHu3btL86OIiIhIBeLUALR06VLGjBnD6tWrWbBgAXl5efTq1YvMzEzHNo8++ijffvsts2fPZunSpRw9epRbbrnlssd95ZVXeOutt3jnnXdYs2YNfn5+xMbGkp2dXdofSURERCoAozw9DPX48eOEhoaydOlSrrnmGtLS0qhevTqffvopt956KwC7du2iadOmrFq1iquvvvqCY5imSWRkJI899hjjx48HIC0tjbCwMOLi4rjjjjvK9DOJiIhI+ePu7AJ+Ly0tDYCQkBAANmzYQF5eHj169HBs06RJE2rVqnXJALR//36Sk5ML7RMUFETHjh1ZtWrVRQNQTk4OOTk5jtd2u51Tp05RtWpVDMMosc8nIiIipcc0Tc6cOUNkZCQ22+UvcpWbAGS323nkkUfo3LkzLVq0ACA5ORlPT0+Cg4MLbRsWFkZycvJFj3N+eVhYWJH3mTx5Ms8///xf/AQiIiJSHhw6dIiaNWtedptyE4DGjBnDtm3bWL58eZm/94QJExg3bpzjdVpaGrVq1eLQoUMEBgaWeT3iGl7+YRcfrz5I04gAPhsdg81mQNoRmNoZzHy4+2uo2dbZZYqIVBjp6elERUUREBDwp9uWiwA0duxY5s2bx7JlywoltvDwcHJzc0lNTS3UCpSSkkJ4ePhFj3V+eUpKChEREYX2ueqqqy66j5eXF15eXhcsDwwMVACSUvPYDdF8vf0UCacKWHkoi74tIyAwEDrcAfGfwJYPoNl1zi5TRKTCKUr3FafeBWaaJmPHjmXu3Ln8/PPP1K1bt9D6tm3b4uHhwaJFixzLEhISSExMJCYm5qLHrFu3LuHh4YX2SU9PZ82aNZfcR8QZqvp7MbKL9Tf/1qLd2O3n7kfo/DBgwK55cGyX8woUEanEnBqAxowZw8cff8ynn35KQEAAycnJJCcnc/bsWcDqvDxy5EjGjRvH4sWL2bBhAyNGjCAmJqZQB+gmTZowd+5cwEp9jzzyCC+88ALffPMNW7duZejQoURGRtK/f39nfEyRS7qnS138vdzZlXyGn3ac66NWvTE0ucGaXzPVecWJiFRiTg1AU6dOJS0tjW7duhEREeGYPvvsM8c2r7/+OjfeeCMDBw7kmmuuITw8nDlz5hQ6TkJCguMOMoC///3vPPjgg4wePZr27duTkZHB/Pnz8fb2LrPPJlIUwb6eDO9UB4A3F+35rRUoZoz1c/MsyDrlnOJERCqxcjUOUHmRnp5OUFAQaWlp6gMkpe50Zi5d/vkzmbkFvHt3W2Kbh4NpwnvXQtJm6P4sdH3M2WWKVCgFBQXk5eU5uwwpYR4eHri5uV1yfXG+v8tFJ2gRV1bFz5Nhnerw3yV7eWvRbno1C7M68F39AMz9G6x9Hzo9BG4ezi5VpNwzTZPk5GRSU1OdXYqUkuDgYMLDw//yOH0KQCLlwL1d6xG38gDbj6azcOcxejYLg+YDYMGzcCYJdnwNLW91dpki5d758BMaGoqvr68Gs61ETNMkKyuLY8eOARS60/tKKACJlAMhfp4MjanDO0v38uaiX+nRNBTD3Qva3wuLX4RVb0OLgaD/mItcUkFBgSP8VK1a1dnlSCnw8fEB4NixY4SGhl72ctifcWonaBH5zaiudfHxcGPbkXR+3mX9Hw5tR4CbFxzdCIfXObdAkXLufJ8fX19fJ1cipen87/ev9vFSABIpJ6r6ezE0pjYAb/28B9M0wb86tLrN2mD1f51YnUjFoctelVtJ/X4VgETKkVHX1MPL3cbmQ6ms2X/u9veO91s/d3wDqYecV5yISCWiACRSjlTz9+K2dtbjYN5dutdaGN4C6l4DZgGse9+J1YlIRVKnTh3eeOMNZ5dRbikAiZQz93aph82AxQnH2ZWcbi28+gHr54aPIO+s84oTkRJnGMZlp4kTJ17RcdetW8fo0aP/Um3dunW7aE333XffXzpueaAAJFLO1KnmR58W1u2d7y3bZy1s2AuCa0F2Kmybc+mdRaTCSUpKckxvvPEGgYGBhZaNHz/esa1pmuTn5xfpuNWrVy+RDuGjRo0qVE9SUhKvvPLKJbe/WOfk3NzcK3rvK92vKBSARMqh0dfUA+Cb+KMcTT0LNjfrjjCA9R86sTIRKWnh4eGOKSgoCMMwHK937dpFQEAAP/zwA23btsXLy4vly5ezd+9ebr75ZsLCwvD396d9+/YsXLiw0HH/eAnMMAw++OADBgwYgK+vLw0bNuSbb7750/p8fX0L1RgeHu4YZfnAgQMYhsFnn33Gtddei7e3N5988gnDhw+nf//+vPjii0RGRtK4cWMAtm7dyvXXX4+Pjw9Vq1Zl9OjRZGRkON7rUvuVBgUgkXIoOiqYq+uFkG83mbZ8v7Ww9d1g84AjG+BovFPrE6koTNMkKzffKVNJPmnqySef5OWXX2bnzp20atWKjIwM+vbty6JFi9i0aRO9e/emX79+JCYmXvY4zz//PLfffjtbtmyhb9++DBkyhFOn/vrzBp988kkefvhhdu7cSWxsLACLFi0iISGBBQsWMG/ePDIzM4mNjaVKlSqsW7eO2bNns3DhQsaOHVvoWH/cr7RoIESRcupv19Zn9b5TzFybyIPdGxLkXx2a3QTbvoT10+Cmt5xdoki5dzavgGbP/uiU994xKRZfz5L5mp00aRI9e/Z0vA4JCSE6Otrx+h//+Adz587lm2++uSBQ/N7w4cMZPHgwAC+99BJvvfUWa9eupXfv3pfc57///S8ffPBBoWXvvvsuQ4YMcbx+5JFHuOWWWwpt4+fnxwcffICnpycA77//PtnZ2cyYMQM/Pz8ApkyZQr9+/fjnP/9JWFjYRfcrLWoBEimnujWqTuOwADJzC/hkzUFrYbuR1s+tsyE7zXnFiUiZateuXaHXGRkZjB8/nqZNmxIcHIy/vz87d+780xagVq1aOeb9/PwIDAx0PFriUoYMGUJ8fHyh6aabbrpsfQAtW7YsFGJ27txJdHS0I/wAdO7cGbvdTkJCwiX3Ky1qARIppwzD4G/X1mPc55uZvuIA93Sui3ftTlC9KRzfCZs/g45/7Q4PkcrOx8ONHZNinfbeJeX3oQFg/PjxLFiwgH/96180aNAAHx8fbr311j/tNOzhUfihyoZhYLfbL7tPUFAQDRo0KFZ9l1pWFFe6X3GpBUikHOsXHUlkkDfHz+TwdfwR61lg7e6xVq7/EEqwj4FIZWQYBr6e7k6ZSnNE6hUrVjB8+HAGDBhAy5YtCQ8P58CBA6X2fiWhadOmbN68mczMTMeyFStWYLPZSrWz86UoAImUYx5uNoZ3rgNA3MqDVqfK6EHg4QvHd8HBlc4tUEScomHDhsyZM4f4+Hg2b97MnXfe+actOVcqKyuL5OTkQtPp06eLfZwhQ4bg7e3NsGHD2LZtG4sXL+bBBx/k7rvvdvT/KUsKQCLl3KB2tfDxcGNnUrr1eAzvIGh57vlguiVexCW99tprVKlShU6dOtGvXz9iY2Np06ZNqbzX+++/T0RERKHpfEfq4vD19eXHH3/k1KlTtG/fnltvvZXu3bszZcqUUqj6zxlmSd6nV0mkp6cTFBREWlqaY6wDEWd6au5WPl2TSO/m4bxzd1tI2gzvXmPdFj9uB/iHOrtEEafLzs5m//791K1bF29vb2eXI6Xkcr/n4nx/qwVIpAIY3qkOAD/tSObw6SyIiIYabcGeB/GfOLc4EZEKSAFIpAJoFBZAlwbVsJvwv9Xnbok/PzL0xv+pM7SISDEpAIlUEOdbgWatPURWbj40HwCe/nBqrzpDi4gUkwKQSAVxXZNQaoX4knY2j682HQUvf2gx0Fq5cYZzixMRqWAUgEQqCDebwdCY2gDErdxv3RLfZpi1csdXcDbVabWJiFQ0CkAiFcht7aLw9XTj15QMVu09CTXaQGhzyM+2Ho8hIiJFogAkUoEE+XgwsE1NAKatOGCNDN1mqLVSl8FERIpMAUikghl2rjP0z7tSOJJ6FlrdDm5ekLwFjsY7tTYRkYpCAUikgmkQ6k9MvarYTfhsbSL4hkDTftZKtQKJiBSJApBIBTTk6loAzFp3iLwC+2+XwbbOhtwsJ1YmIs7SrVs3HnnkEWeXUWEoAIlUQL2ahVPN35NjZ3JYtPMY1OkKVepATjrs+NrZ5YlIMfTr14/evXtfdN0vv/yCYRhs2bLlL79PXFwchmFcMLnqY0MUgEQqIE93G7e1iwLg07WJYLNB67utlboMJlKhjBw5kgULFnD48OEL1k2fPp127drRqlWrEnmvwMBAkpKSCk0HDx685Pa5ubkXLDNNk/z8/GK/95XuV1oUgEQqqMHta2EYsOzX4ySezIKrhoBhg8SVcGK3s8sTkSK68cYbqV69OnFxcYWWZ2RkMHv2bEaOHMnJkycZPHgwNWrUwNfXl5YtWzJz5sxiv5dhGISHhxeawsLCHOu7devG2LFjeeSRR6hWrRqxsbEsWbIEwzD44YcfaNu2LV5eXixfvpycnBweeughQkND8fb2pkuXLqxbt85xrEvtV14oAIlUULWq+tK1YXXgXCtQYAQ07GWtVCuQiMU0ITfTOVMRn9Hn7u7O0KFDiYuLswY4PWf27NkUFBQwePBgsrOzadu2Ld999x3btm1j9OjR3H333axdu7bET9lHH32Ep6cnK1as4J133nEsf/LJJ3n55ZfZuXMnrVq14u9//ztffvklH330ERs3bqRBgwbExsZy6tSpQsf7437lhbuzCxCRKzekYy2W/Xqc2esPMa5nIzzbDIVf58PmmXD9M+Du6ewSRZwrLwteinTOez91FDz9irTpPffcw6uvvsrSpUvp1q0bYF3+GjhwIEFBQQQFBTF+/HjH9g8++CA//vgjn3/+OR06dChySWlpafj7+xda1rVrV3744QfH64YNG/LKK684XiclJQEwadIkevbsCUBmZiZTp04lLi6OPn36APD++++zYMECPvzwQx5//HHH/r/frzxRABKpwLo3CSUs0IuU9Bx+3J5Mvxa9wD8MMlKsINTsJmeXKCJF0KRJEzp16sS0adPo1q0be/bs4ZdffmHSpEkAFBQU8NJLL/H5559z5MgRcnNzycnJwdfXt1jvExAQwMaNGwst8/HxKfS6bdu2F923Xbt2jvm9e/eSl5dH586dHcs8PDzo0KEDO3fuvOR+5YkCkEgF5u5mY1D7Wry1aDefrkmkX3QkXHUnLH/dugymACSuzsPXaolx1nsXw8iRI3nwwQd5++23mT59OvXr1+faa68F4NVXX+XNN9/kjTfeoGXLlvj5+fHII49ctJPy5dhsNho0aHDZbfz8Lt5qdanlf+ZK9yttTu0DtGzZMvr160dkZCSGYfDVV18VWn+x2/UMw+DVV1+95DEnTpx4wfZNmjQp5U8i4jx3tI/CZsCqfSfZcyzjt7vB9i6CtAvvKhFxKYZhXYZyxmQYxSr19ttvx2az8emnnzJjxgzuuecejHPHWLFiBTfffDN33XUX0dHR1KtXj19//bU0zliR1K9f39FP6Ly8vDzWrVtHs2bNnFZXcTg1AGVmZhIdHc3bb7990fV/vFVv2rRpGIbBwIEDL3vc5s2bF9qvPPU6FylpkcE+XN8kFIBZaxOhan1rXCDTDvGfOrk6ESkqf39/Bg0axIQJE0hKSmL48OGOdQ0bNmTBggWsXLmSnTt38re//Y2UlJRiv4dpmiQnJ18w2e32Yh3Hz8+P+++/n8cff5z58+ezY8cORo0aRVZWFiNHjix2Xc7g1Etgffr0cXSeupjw8PBCr7/++muuu+466tWrd9njuru7X7CvSGV2Z8daLNx5jC82HmZ8bGO82wyFA7/Axv9B1/HWOEEiUu6NHDmSDz/8kL59+xIZ+Vvn7aeffpp9+/YRGxuLr68vo0ePpn///qSlpRXr+Onp6URERFywPCkpqdjfmy+//DJ2u527776bM2fO0K5dO3788UeqVKlSrOM4i2GaRbxPr5QZhsHcuXPp37//RdenpKRQs2ZNPvroI+68885LHmfixIm8+uqrBAUF4e3tTUxMDJMnT6ZWrVqX3CcnJ4ecnBzH6/T0dKKiokhLSyMwMPCKP5NIWSmwm1zzymKOpJ7ljUFX0b9FCPy7MWSnwd1zof71zi5RpNRlZ2ezf/9+6tat67KjG7uCy/2e09PTCQoKKtL3d4X538KPPvqIgIAAbrnllstu17FjR+Li4pg/fz5Tp05l//79dO3alTNnzlxyn8mTJztuMwwKCiIqKqqkyxcpVW42g0Htz40MvSYRPHyg1SBrpcYEEhG5QIUJQNOmTWPIkCF/mur79OnDbbfdRqtWrYiNjeX7778nNTWVzz///JL7TJgwgbS0NMd06NChki5fpNQNah+Fm81g7YFT7E4589sDUnfOg8yTzi1ORKScqRAB6JdffiEhIYF777232PsGBwfTqFEj9uzZc8ltvLy8CAwMLDSJVDRhgd50P9cZ+tO1iRDeEiJbgz0PtsxycnUiIuVLhQhAH374IW3btiU6OrrY+2ZkZLB3796LdvoSqWzu7Gj1dftyw2Gy8wp+awXaOKPIw/KLiLgCpwagjIwM4uPjiY+PB2D//v3Ex8eTmJjo2CY9PZ3Zs2dfsvWne/fuTJkyxfF6/PjxLF26lAMHDrBy5UoGDBiAm5sbgwcPLtXPIlIedG1YnRrBPqRn5/PdliRocas1GNvxXXB43Z8fQKQSKCf39kgpKanfr1MD0Pr162ndujWtW7cGYNy4cbRu3Zpnn33Wsc2sWbMwTfOSAWbv3r2cOHHC8frw4cMMHjyYxo0bc/vtt1O1alVWr15N9erVS/fDiJQDbjaDwR2sztAz1yaCdyA0H2Ct3PiREysTKX0eHh4AZGVlObkSKU3nf7/nf99XqtzcBl+eFOc2OpHy5lh6Np1e/pl8u8lPj15Do5ztMC3Wagl6LMEKRSKVVFJSEqmpqYSGhuLr6+sYSVkqPtM0ycrK4tixYwQHB1+0a0txvr/1LDCRSiY00JseTcOYvz2ZT9ckMrFfR6jWCE78CtvnQNvhzi5RpNScH8zv2LFjTq5ESktwcHCJDHasACRSCd3ZsRbztyfz5cbDPNG7CT5thsJPT1udoRWApBIzDIOIiAhCQ0PJy8tzdjlSwjw8PHBzcyuRYykAiVRCXRpUIyrEh0OnzjJvy1Fua3UHLHwejmyA5G0Q3sLZJYqUKjc3txL7opTKqULcBi8ixWOzGdzR3rol/tO1ieBfHZr0tVZu+p8TKxMRKR8UgEQqqdva1cTdZrApMZWdSenQ+tyYQFs+h/ycy+8sIlLJKQCJVFKhAd70ah4GnHs+WP3rICASzp6ChO+dXJ2IiHMpAIlUYnd2qA3AV5uOkJVvwlV3Wis2fezEqkREnE8BSKQS61S/KrWr+nImJ595m5N+C0B7FkHaYecWJyLiRApAIpWYzWYwuIPVGfqTtYlQtT7U7gKYsHmmc4sTEXEiBSCRSu7WtjXxcDPYfCiV7UfToM3d1opNH4Pd7tziREScRAFIpJKr5u9Fr+bWqKmfrkmEpjeBZwCcPgAHVzi3OBERJ1EAEnEBQ85dBvs6/iiZpie0HGit2BDnvKJERJxIAUjEBcTUr0rdan5k5OTzdfxRaDvCWrHja8jQM5NExPUoAIm4AMMwGNLRagWaseoAZkQ01GgH9jyNDC0iLkkBSMRF3NY2Ch8PN3Yln2H1vlPQfqS1Yv10sBc4tzgRkTKmACTiIoJ8PbilTQ0APlp5AJoPAJ8qkHYIdi9wbnEiImVMAUjEhQzrVAeAn3YkczjDhKuGWCvWfeC8okREnEABSMSFNAoLoHODqthN+N/qg9DuHmvFnoVwar9zixMRKUMKQCIuZninugB8tu4QZwPqQP3rARPWvu/UukREypICkIiLub5JKDWr+JCalcfX8Ufg6gesFRviIOuUU2sTESkrCkAiLsbNZjAspg4AcSsPYNbvDmEtIC9TfYFExGUoAIm4oNvb/XZL/JoDp6HLo9aK1VMhN9O5xYmIlAEFIBEXFOTrwYBzt8THrTgAzfpDcG04e8p6SKqISCWnACTioob/7pb4I2fyoPND1oqV/4GCPOcVJiJSBhSARFxUo7AAOtU/d0v8qoPWmEB+1a2BEbd96ezyRERKlQKQiAs73wo0a10i2XjC1fdbK5a/AXa70+oSESltCkAiLqx707DCt8S3vxe8AuH4Ttj9o7PLExEpNQpAIi7MzWYwNKY2ANNXHMD0CvxtdOhfXgPTdGJ1IiKlRwFIxMUNalfLcUv82v2nrIER3bzg8FrYt8TZ5YmIlAoFIBEXF+TrQf/W526JX3kAAsKg3Qhr5ZLJagUSkUpJAUhEHJ2hf9yezKFTWdbAiO7ecGgN7F3k3OJEREqBApCI0Dg8gK4Nq2E34cPl+yEgHNqNtFYuViuQiFQ+CkAiAsB919YHrFviT2XmQpdHwN0HjqyH3QucW5yISAlTABIRADrVr0qLGoFk59mtgRH9Q6HDvdbKJS+pFUhEKhUFIBEBwDAMRl9jtQJ9tOoA2XkF0PkR8PCDo5vg1/nOLVBEpAQ5NQAtW7aMfv36ERkZiWEYfPXVV4XWDx8+HMMwCk29e/f+0+O+/fbb1KlTB29vbzp27MjatWtL6ROIVC59W4RTs4oPpzJzmb3hMPhVg46jrZWL1QokIpWHUwNQZmYm0dHRvP3225fcpnfv3iQlJTmmmTNnXvaYn332GePGjeO5555j48aNREdHExsby7Fjx0q6fJFKx93Nxr1d6gLwwS/7KLCb0Okh8PSH5C2w6zsnVygiUjKcGoD69OnDCy+8wIABAy65jZeXF+Hh4Y6pSpUqlz3ma6+9xqhRoxgxYgTNmjXjnXfewdfXl2nTppV0+SKV0u3towj29eDgySx+3J4MviHQ8T5r5ZLJekaYiFQK5b4P0JIlSwgNDaVx48bcf//9nDx58pLb5ubmsmHDBnr06OFYZrPZ6NGjB6tWrSqLckUqPF9Pd4bG1AHg3aV7MU0TYsZYzwhL2Qa7vnVugSIiJaBcB6DevXszY8YMFi1axD//+U+WLl1Knz59KCgouOj2J06coKCggLCwsELLw8LCSE5OvuT75OTkkJ6eXmgScWXDYmrj5W5j8+E01uw/ZbUCnX9S/OLJYL/4v0ERkYqiXAegO+64g5tuuomWLVvSv39/5s2bx7p161iyZEmJvs/kyZMJCgpyTFFRUSV6fJGKpqq/F7e1qwlYrUCA9Yww7yDrSfFbPndidSIif125DkB/VK9ePapVq8aePXsuur5atWq4ubmRkpJSaHlKSgrh4eGXPO6ECRNIS0tzTIcOHSrRukUqonu71MNmwOKE4yQknwGfYOgyzlr58wuQl+3U+kRE/ooKFYAOHz7MyZMniYiIuOh6T09P2rZty6JFvz27yG63s2jRImJiYi55XC8vLwIDAwtNIq6uTjU/erew/sfhvWX7rIUd/waBNSD9MKx914nViYj8NU4NQBkZGcTHxxMfHw/A/v37iY+PJzExkYyMDB5//HFWr17NgQMHWLRoETfffDMNGjQgNjbWcYzu3bszZcoUx+tx48bx/vvv89FHH7Fz507uv/9+MjMzGTFiRFl/PJEK72/nBkb8Ov4IR1LPgocPXPd/1spf/g1Zp5xYnYjIlXNqAFq/fj2tW7emdevWgBVeWrduzbPPPoubmxtbtmzhpptuolGjRowcOZK2bdvyyy+/4OXl5TjG3r17OXHihOP1oEGD+Ne//sWzzz7LVVddRXx8PPPnz7+gY7SI/LnoqGBi6lUl327y/vlWoOg7ILQ5ZKfB8tecW6CIyBUyTFNDu/5Reno6QUFBpKWl6XKYuLyVe05w5wdr8HK3sfyJ66ke4GU9HPWTW8HNCx7cAMG6cUBEnK84398Vqg+QiJS9mPpVaV0rmJx8Ox8sP9cK1KAH1OkKBTmw+EXnFigicgUUgETksgzDYOx1DQD4eNVBUrNywTCg5yRrg82zIHmrEysUESk+BSAR+VPXNwmlaUQgmbkFxK08YC2s0Qaa3wKYsOA5Z5YnIlJsCkAi8qcMw2DMddYdYdNXHOBMdp61ovszYPOAvYtg3xLnFSgiUkwKQCJSJH1aRFCvuh9pZ/OYseqgtTCkHrQfac0veFYPShWRCkMBSESKxM1m8HD3hgC8/8u+31qBrnkcPAMgaTNsn+PECkVEik4BSESK7MZWkdSr7kdq1u9agfyqQZeHrflFz0N+jvMKFBEpIgUgESmyS7YCXf0A+IdDaiKs+8CJFYqIFI0CkIgUy0VbgTz94LqnrPml/4TMk84rUESkCBSARKRYft8K9N6yfaSdPdcK1PouCGtpPSJDgyOKSDmnACQixXZjq0gahvqTdjaPqUv2WgttbtDnZWt+w3RI3ua8AkVE/oQCkIgUm5vN4Mk+TQCYtmI/h09nWSvqdIFm/cG0w/wnQY8aFJFyyr0oG7311lvFPvCIESMICAgo9n4iUjFc3ySUq+uFsHrfKf7906+8Pugqa0XPSZDwAxz4BXbNg6b9nFqniMjFFOlp8DabjZo1a+Lm5lakgx46dIhff/2VevXq/eUCnUFPgxcpmq2H0+g3ZTkA8x7sQosaQdaKn1+AZa9CcG0YsxY8vJ1YpYi4iuJ8fxepBQhg/fr1hIaGFmlbtfyIuIaWNYO4+apIvo4/yovf7eTTUR0xDAM6PwKbPobUg7D6v9B1nLNLFREppEh9gJ577jn8/f2LfNCnnnqKkJCQKy5KRCqO8b0a4+luY9W+k/y4Pdla6OUPPZ635pf9C84kO69AEZGLKNIlMFejS2AixfOvHxOYsngPNYJ9WDjuWnw83azngn3YE46st26Rv/ltZ5cpIpVccb6/dReYiPxlY65rQI1gH46knuXtxXushTYb9J5szW/6BI7GO60+EZE/KnIA2rt3L/fcc4/jda1atQgJCXFM1atXJyEhoVSKFJHyzcfTjWdubApYgyMeOJFprYjqAC1uBUz48f90W7yIlBtFDkD/+c9/CAsLc7w+ffo0EyZM4PXXX+f111+nffv2vP7666VSpIiUf7HNw+nasBq5BXae/3Y7jqvrPSaCuzccXG7dFi8iUg4UOQAtWrSIAQMGFFo2cOBAhg0bxrBhw3jiiSdYtGhRiRcoIhWDYRg8f1NzPNwMFiccZ+HOY9aK4Cjo9KA1/9PTelq8iJQLRQ5ABw4cIDIy0vH63nvvJSgoyPG6Tp06HD58uGSrE5EKpV51f+7tao3/9fy328nOK7BWdH7Eelr86QOw5l2n1Scicl6RA5DNZuPo0aOO16+//jpVq1Z1vE5JScHDw6NkqxORCufB6xsQEeTN4dNn+e/554R5+UP3Z6z5Za9CxnHnFSgiQjECUPPmzVm4cOEl1//444+0aNGiRIoSkYrL19Odp29oBsA7S/ay51iGtSL6TghvBTnpsGSyEysUESlGABoxYgQvvvgi33333QXrvv32W15++WVGjBhRosWJSMXUt2U41zWuTm6Bnf+bu9XqEP372+I3xMGJ3U6tUURcW7EGQhw8eDCfffYZTZo0oXHjxgAkJCSQkJDAwIED+fzzz0ut0LKkgRBF/rpDp7Lo+fpSsvPsvHprK25rF2Wt+PQO+PUHaHIj3PGJc4sUkUql1AZCnDlzJp9++ikNGzZ0BJ+GDRvyySefVJrwIyIlIyrEl0d7NALgpe93cioz11rRYyIYNuuW+MTVzitQRFyaHoVxEWoBEikZeQV2+v1nObuSzzCwTU3+fXu0teKbh2DjR1CzA4z8CQzDuYWKSKVQKi1Adrudf/7zn3Tu3Jn27dvz5JNPcvbs2b9crIhUXh5uNl66pSWGAV9uPMzKvSesFd0mgIcvHF4LO79xbpEi4pKKHIBefPFFnnrqKfz9/alRowZvvvkmY8aMKc3aRKQSaFOrCnd1rA3A03O3WWMDBUZAzFhrg4UToSDPeQWKiEsqcgCaMWMG//3vf/nxxx/56quv+Pbbb/nkk0+w2+2lWZ+IVAKP925MaIAX+05k8p+fz9391fkh8KsOp/ZZd4WJiJShIgegxMRE+vbt63jdo0cPDMMoNDiiiMjFBHp7MOlma5ywd5fuY8fRdPAKgG5PWhsseRmy051YoYi4miIHoPz8fLy9vQst8/DwIC9PTdci8ud6twinT4tw8u0mT3y5hfwCO7QZBlUbQNYJWPmWs0sUERfiXtQNTdNk+PDheHl5OZZlZ2dz33334efn51g2Z86ckq1QRCqN529uzoo9J9h6JI1pK/Yz+pr61m3xn90FK6dAu5FW/yARkVJW5BagYcOGERoaSlBQkGO66667iIyMLLRMRORSQgO8HY/J+PdPv3LgRKY1IGJUR8g/C0tecnKFIuIqNA7QRWgcIJHSY5omd324hhV7ThJTryqfjuqIcWgtTOtlDZB4/0oIbersMkWkAiq1kaBL2rJly+jXrx+RkZEYhsFXX33lWJeXl8cTTzxBy5Yt8fPzIzIykqFDh/5pp+uJEydiGEahqUmTJqX8SUSkqAzDYPKAVvh4uLFq30k+W3cIanWEpv3AtFu3xYuIlLIi9wG65557irTdtGnTivzmmZmZREdHc88993DLLbcUWpeVlcXGjRt55plniI6O5vTp0zz88MPcdNNNrF+//rLH/eOT693di/wxRaQM1Krqy2O9GvHCdzt58fudXNcklLDuE2HX9/DrfNj/C9Tt6uwyRaQSK3IyiIuLo3bt2rRu3ZqSumrWp08f+vTpc9F1QUFBLFiwoNCyKVOm0KFDBxITE6lVq9Ylj+vu7k54eHiJ1CgipWNE57p8u/komw+n8cxX23j37rYY7UbAug9gwTNw78/WE+RFREpBkQPQ/fffz8yZM9m/fz8jRozgrrvuIiQkpDRru0BaWhqGYRAcHHzZ7Xbv3k1kZCTe3t7ExMQwefLkywamnJwccnJyHK/T0zUeiUhpc7MZ/PPWVtz41nJ+2pHCD9uS6Xvtk7B5FhzdBNvnQMtbnV2miFRSRf7fq7fffpukpCT+/ve/8+233xIVFcXtt9/Ojz/+WGItQpeTnZ3NE088weDBgy/bsaljx47ExcUxf/58pk6dyv79++natStnzpy55D6TJ08udCdbVFRUaXwEEfmDJuGBPNCtPgDPfr2dVFsQdH7EWrloEuTnXHpnEZG/4IrvAjt48CBxcXHMmDGD/Px8tm/fjr+//5UXYhjMnTuX/v37X7AuLy+PgQMHcvjwYZYsWVKsO7NSU1OpXbs2r732GiNHjrzoNhdrAYqKitJdYCJlICe/gBveWs6eYxnc1rYmr97cAN5qAxnJEDsZYh5wdokiUkGUyV1gNpsNwzAwTZOCgoIrPcyfysvL4/bbb+fgwYMsWLCg2IEkODiYRo0asWfPnktu4+XlRWBgYKFJRMqGl7sb/xxoPTF+9obDLD94Fq57ylq57BU4m+rU+kSkcipWAMrJyWHmzJn07NmTRo0asXXrVqZMmUJiYuJfav25lPPhZ/fu3SxcuJCqVasW+xgZGRns3buXiAiNLitSXrWtHcKwmDoAPDlnC1nNB0H1JnD2NCx/3bnFiUilVOQA9MADDxAREcHLL7/MjTfeyKFDh5g9ezZ9+/bFdoV3amRkZBAfH098fDwA+/fvJz4+nsTERPLy8rj11ltZv349n3zyCQUFBSQnJ5OcnExubq7jGN27d2fKlCmO1+PHj2fp0qUcOHCAlStXMmDAANzc3Bg8ePAV1SgiZePx2MbUCPbh8Omz/HvhPujxvLVi9VRIPeTc4kSk0ilyHyCbzUatWrVo3bo1hmFccrviPAtsyZIlXHfddRcsHzZsGBMnTqRu3boX3W/x4sV069YNgDp16jB8+HAmTpwIwB133MGyZcs4efIk1atXp0uXLrz44ovUr1+/yHVpJGgR51iScIzh09dhM2DO/Z24atFdcHA5RN8JA6Y6uzwRKeeK8/1d5AA0fPjwywaf86ZPn160KssxBSAR53n0s3jmbjpC04hAvh3gjfu0HoAB9/0C4S2dXZ6IlGOlEoBciQKQiPOcyszlun8tIe1sHhP7NWP40UnWmED1u8PdRW9hFhHXU2GeBSYi8kchfp78vXdjwHpi/ImrnwCbB+xdBHt/dnJ1IlJZFCkA3XLLLcUaHXnIkCEcO3bsiosSEdd2R/taRNcM4kxOPi+tzIYOo6wVPz0LdrtzixORSqFIAejrr7/m+PHjpKen/+mUlpbGt99+S0ZGRmnXLiKVlJvNYNLNLTAMmLPpCBtqjQSvIEjZCls+c3Z5IlIJFCkAmaZJo0aNqFKlyp9OISEhZGZmlnbdIlLJRUcFM7iD9Qy/p348SsH5R2QseQnycy+9o4hIERTpYaiLFy8u9oFr1KhR7H1ERH7v77GN+WFrEgkpZ5hhj2WE/zuQmgibZkD7e51dnohUYLoL7CJ0F5hI+fHZukSe+HIrfp5urO6+l4DFT0FABDy0CTx8nF2eiJQjugtMRCqN29pGcVVUMJm5BUxO6QhBUXAmCdZPc3ZpIlKBKQCJSLlmsxk8c2MzAGZuSuFo9EPWil9egxzdbCEiV0YBSETKvba1q3BjqwhME57Y0wwzpB5knYC17zq7NBGpoIoVgEzTJDExkezs7NKqR0Tkop7o3QRPdxu/7Etje8MHrIUr3oSzqU6tS0QqpmIHoAYNGnDokJ7MLCJlKyrElxGd6wDw6PZ6mNWaQHYarP6vcwsTkQqpWAHIZrPRsGFDTp48WVr1iIhc0pjrGhDi58nuE9ksrXFudOhVb0Om/pskIsVT7D5AL7/8Mo8//jjbtm0rjXpERC4p0NuDR3s2AmDclpoUhLWE3AxY8YZzCxORCqfYAWjo0KGsXbuW6OhofHx8CAkJKTSJiJSmwe2jaBDqz6mzBXwRNNxauPZ9OJPs1LpEpGIp0kjQv/fGG2+UQhkiIkXj7mbj//o2ZUTcOp7ZEcmAmm3xTN5g3Rbf9xVnlyciFUSxA9CwYcNKow4RkSLr1rg6HeqEsPbAKT7yuYtRbIANcdB1HASEO7s8EakArmgcoIKCAr788kteeOEFXnjhBebOnUtBQUFJ1yYiclGGYfD33o0BeDkhjOzwdlCQAyv/4+TKRKSiKHYA2rNnD02bNmXo0KHMmTOHOXPmcNddd9G8eXP27t1bGjWKiFygXZ0Qrm8SSoEdPnS7zVq4fhpknnBuYSJSIRQ7AD300EPUr1+fQ4cOsXHjRjZu3EhiYiJ169bloYceKo0aRUQuanwvqxXo1b01yarWCvKyYNUUJ1clIhVBsQPQ0qVLeeWVVwrd8VW1alVefvllli5dWqLFiYhcTrPIQG6KjgQM3jcGWgvXvg9Zp5xal4iUf8UOQF5eXpw5c+aC5RkZGXh6epZIUSIiRTWuZyPcbQavH2pAVpUm1rhAa95xdlkiUs4VOwDdeOONjB49mjVr1mCaJqZpsnr1au677z5uuumm0qhRROSS6lTz4/b2UYDBVPst1sLV71iPyRARuYRiB6C33nqL+vXrExMTg7e3N97e3nTu3JkGDRrw5ptvlkaNIiKX9dD1DfFytzElpRmZgfUhJ826FCYicgnFGgfINE3S09OZNWsWR44cYefOnQA0bdqUBg0alEqBIiJ/JjzIm6ExtXn/l/28a97COF61nhHW8T7w8nd2eSJSDl3R0+APHz5MgwYN6NevH/369VP4ERGnG31Nfbw9bLx9vBVZ/rXh7CnY+JGzyxKRckpPgxeRSqF6gBd3daxNAW5M52Zr4aq3IT/XuYWJSLmkp8GLSKUx+tp6eHvYeOtEG3K8q0P6Edg629lliUg5pKfBi0ilERrgzZCOtcnBk1luN1oLV7wJdrtzCxORckdPgxeRSuVv19bj49UH+dfJzgwJmI37iQT4dT406evs0kSkHClWAMrLy2Pp0qU888wz1K1bt7RqEhG5Yudbgaat2M83Hn24JW82LH8dGvcBw3B2eSJSThTrEpiHhwdffvlladUiIlIi7ru2Hl7uNiaf6obd5gmH10LiKmeXJSLlSLH7APXv35+vvvqqFEoRESkZoYFWK9BxqrDQq7u1cPkbTq1JRMqXYvcBatiwIZMmTWLFihW0bdsWPz+/Quv1RHgRKQ/uu7YeH685yIupPenp/SPG7h8hZTuENXd2aSJSDhimaZrF2eFyfX8Mw2Dfvn1/uShnS09PJygoiLS0NAIDA51djohcoWe/3saMVQeZFTyVq7N/gVaD4Jb3nF2WiJSS4nx/F/sS2P79+y85FTf8LFu2jH79+hEZGYlhGBdcWjNNk2effZaIiAh8fHzo0aMHu3fv/tPjvv3229SpUwdvb286duzI2rVri1WXiFQO911bHw83gxfSYq0FW7+A0wedW5SIlAvFDkAlKTMzk+joaN5+++2Lrn/llVd46623eOedd1izZg1+fn7ExsaSnZ19yWN+9tlnjBs3jueee46NGzcSHR1NbGwsx44dK62PISLlVGSwD7e2rck2sx7bvNuAWWCNDi0iLq/IAahZs2acOnXK8fqBBx7gxIkTjtfHjh3D19e3WG/ep08fXnjhBQYMGHDBOtM0eeONN3j66ae5+eabadWqFTNmzODo0aOX7YT92muvMWrUKEaMGEGzZs1455138PX1Zdq0acWqTUQqh/uvbYCbzWBy+rlWoI0zIFOP8xFxdUUOQLt27SI/P9/x+uOPPyY9Pd3x2jTNy7bMFNf+/ftJTk6mR48ejmVBQUF07NiRVasufjtrbm4uGzZsKLSPzWajR48el9wHICcnh/T09EKTiFQOtar60v+qGqywt+CAZyPIPwtr1Q9IxNVd8SWwi/WdNkpwkLHk5GQAwsLCCi0PCwtzrPujEydOUFBQUKx9ACZPnkxQUJBjioqK+ovVi0h58sB19TEMg1czelsL1r4HuZnOLUpEnMqpfYDKiwkTJpCWluaYDh065OySRKQE1a/uz42tIplvb89xjwg4ewo2feLsskTEiYocgAzDuKCFpyRbfP4oPDwcgJSUlELLU1JSHOv+qFq1ari5uRVrHwAvLy8CAwMLTSJSuYy9rgEFuPFm1rlWoFX/gYL8y+8kIpVWkQOQaZp0796dNm3a0KZNG86ePUu/fv0cr3v27FmihdWtW5fw8HAWLVrkWJaens6aNWuIiYm56D6enp60bdu20D52u51FixZdch8RcQ2NwwPo3Tyc2QXXcsYtGFITYcdXzi5LRJykyCNBP/fcc4Ve33zzzRdsM3DgwGK9eUZGBnv27HG83r9/P/Hx8YSEhFCrVi0eeeQRXnjhBRo2bEjdunV55plniIyMpH///o59unfvzoABAxg7diwA48aNY9iwYbRr144OHTrwxhtvkJmZyYgRI4pVm4hUPmOvb8D87cm8n9ODce5fwIo3ocVAPSRVxAVdcQAqCevXr+e6665zvB43bhwAw4YNIy4ujr///e9kZmYyevRoUlNT6dKlC/Pnz8fb29uxz969ewvdjj9o0CCOHz/Os88+S3JyMldddRXz58+/oGO0iLieFjWC6N4k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cgvsNAj152yuFe6CfDzIK7CCn6+nO3kFdgrsJt4e5f+SYGVWJgHo0KFDTJ8+nbi4OHJzc9m1a5cCkIhIOZebbyf1bC5pWXmczsojIyfPcTkqJ89OToF1ianAbuJmM7AZhvXTZuBmGLjbCgeX80HmfGj5Y4jxdLPhcf7nuX4yIqWl1EaC/v0lsOXLl3PjjTcyZcoUevfujc1W7AfLi4hIGfN0txEa4E1owBWMmSNSiRQ5AD3wwAPMmjWLqKgo7rnnHmbOnEm1atVKszYRERGRUlGs2+Br1apF69atL9uEOWfOnBIrzll0CUxERKTiKZVLYEOHDtW1WxEREakUihyA4uLiSrEMERERkbKjnssiIiLichSARERExOUoAImIiIjLUQASERERl6MAJCIiIi5HAUhERERcjgKQiIiIuBwFIBEREXE5CkAiIiLichSARERExOWU6wA0ceJEDMMoNDVp0uSy+8yePZsmTZrg7e1Ny5Yt+f7778uoWhEREakoynUAAmjevDlJSUmOafny5ZfcduXKlQwePJiRI0eyadMm+vfvT//+/dm2bVsZViwiIiLlXbkPQO7u7oSHhzumatWqXXLbN998k969e/P444/TtGlT/vGPf9CmTRumTJlShhWLiIhIeVfuA9Du3buJjIykXr16DBkyhMTExEtuu2rVKnr06FFoWWxsLKtWrbrse+Tk5JCenl5oEhERkcqrXAegjh07EhcXx/z585k6dSr79++na9eunDlz5qLbJycnExYWVmhZWFgYycnJl32fyZMnExQU5JiioqJK7DOIiIhI+VOuA1CfPn247bbbaNWqFbGxsXz//fekpqby+eefl+j7TJgwgbS0NMd06NChEj2+iIiIlC/uzi6gOIKDg2nUqBF79uy56Prw8HBSUlIKLUtJSSE8PPyyx/Xy8sLLy6vE6hQREZHyrVy3AP1RRkYGe/fuJSIi4qLrY2JiWLRoUaFlCxYsICYmpizKExERkQqiXAeg8ePHs3TpUg4cOMDKlSsZMGAAbm5uDB48GIChQ4cyYcIEx/YPP/ww8+fP59///je7du1i4sSJrF+/nrFjxzrrI4iIiEg5VK4vgR0+fJjBgwdz8uRJqlevTpcuXVi9ejXVq1cHIDExEZvttwzXqVMnPv30U55++mmeeuopGjZsyFdffUWLFi2c9RFERESkHDJM0zSd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tGmTCZivvfaauWnTJvPgwYOmaZrmyy+/bAYHB5tff/21uWXLFvPmm28269ata549e9ZxjN69e5utW7c216xZYy5fvtxs2LChOXjwYGd9pFJzuXN15swZc/z48eaqVavM/fv3mwsXLjTbtGljNmzY0MzOznYcw1XO1f33328GBQWZS5YsMZOSkhxTVlaWY5s/+7eXn59vtmjRwuzVq5cZHx9vzp8/36xevbo5YcIEZ3ykUvNn52rPnj3mpEmTzPXr15v79+83v/76a7NevXrmNddc4ziGq5wr0zTNJ5980ly6dKm5f/9+c8uWLeaTTz5pGoZh/vTTT6Zplq+/KwWgMvSf//zHrFWrlunp6Wl26NDBXL16tbNLcrpBgwaZERERpqenp1mjRg1z0KBB5p49exzrz549az7wwANmlSpVTF9fX3PAgAFmUlKSEysuW4sXLzaBC6Zhw4aZpmndCv/MM8+YYWFhppeXl9m9e3czISGh0DFOnjxpDh482PT39zcDAwPNESNGmGfOnHHCpyldlztXWVlZZq9evczq1aubHh4eZu3atc1Ro0Zd8D8grnKuLnaeAHP69OmObYryb+/AgQNmnz59TB8fH7NatWrmY489Zubl5ZXxpyldf3auEhMTzWuuucYMCQkxvby8zAYNGpiPP/64mZaWVug4rnCuTNM077nnHrN27dqmp6enWb16dbN79+6O8GOa5evvyjBN0yzZNiURERGR8k19gERERMTlKACJiIiIy1EAEhEREZejACQiIiIuRwFIREREXI4CkIiIiLgcBSARERFxOQpAIiJFYBgGX331lbPLEJESogAkIuXe8OHDMQzjgql3797OLk1EKih3ZxcgIlIUvXv3Zvr06YWWeXl5OakaEano1AIkIhWCl5cX4eHhhaYqVaoA1uWpqVOn0qdPH3x8fKhXrx5ffPFFof23bt3K9ddfj4+PD1WrVmX06NFkZGQU2mbatGk0b94cLy8vIiIiGDt2bKH1J06cYMCAAfj6+tKwYUO++eab0v3QIlJqFIBEpFJ45plnGDhwIJs3b2bIkCHccccd7Ny5E4DMzExiY2OpUqUK69atY/bs2SxcuLBQwJk6dSpjxoxh9OjRbN26lW+++YYGDRoUeo/nn3+e22+/nS1bttC3b1+GDBnCqVOnyvRzikgJKfHHq4qIlLBhw4aZbm5upp+fX6HpxRdfNE3TemL3fffdV2ifjh07mvfff79pmqb53nvvmVWqVDEzMjIc67/77jvTZrM5nggfGRlp/t///d8lawDMp59+2vE6IyPDBMwffvihxD6niJQd9QESkQrhuuuuY+rUqYWWhYSEOOZjYmIKrYuJiSE+Ph6AnTt3Eh0djZ+fn2N9586dsdvtJCQkYBgGR48epXv37petoVWrVo55Pz8/AgMDOXbs2JV+JBFxIgUgEakQ/Pz8LrgkVVJ8fHyKtJ2Hh0eh14ZhYLfbS6MkESll6gMkIpXC6tWrL3jdtGlTAJo2bcrmzZvJzMx0rF+xYgU2m43GjRsTEBBAnTp1WLRoUZnWLCLOoxYgEakQcnJySE5OLrTM3d2datWqATB79mzatWtHly5d+OSTT1i7di0ffvghAEOGDOG5555j2LBhTJw4kePHj/Pggw9y9913ExYWBsDEiRO57777CA0NpU+fPpw5c4YVK1bw4IMPlu0HFZEyoQAkIhXC/PnziYiIKLSscePG7Nq1C7Du0Jo1axYPPPAAERERzJw5k2bNmgHg6+vLjz/+yMMPP0z79u3x9fVl4MCBvPbaa45jDRs2jOzsbF5//XXGjx9PtWrVuPXWW8vuA4pImTJM0zSdXYSIyF9hGAZz586lf//+zi5FRCoI9QESERERl6MAJCIiIi5HfYBEpMLTlXwRKS61AImIiIjLUQASERERl6MAJCIiIi5HAUhERERcjgKQiIiIuBwFIBEREXE5CkAiIiLichSARERExOUoAImIiIjL+X8X2cZ5TvlTiQAAAABJRU5ErkJggg==\n"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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ySwWC2+//TYDBgzA39+fxo0b880331y0Pn9//3I1RkdH2+/uvHv3biwWCx9//DFdu3bF19eXmTNnMnz4cPr378/f//53YmNjadq0KQDr16/n+uuvx8/Pj/DwcEaNGkV+fr79vc73uqqgliERcSlNooLYevRkGDqyDWw2OM/t9kUuh2EYnChxbAh2Rfl5eVTayKfHH3+cF198kYSEBGrVqsXevXvp27cvf//73/Hx8eG9996jX79+pKWlUb9+/fMeZ9KkSUydOpUXXniBV199lSFDhrBnzx7CwsIcru8f//gH7dq1w9fXl/nz5zN37lyCg4OZPXs2AAUFBfTq1YuUlBRWrFjBoUOHuO+++xg7diwzZsywH+v3r6sqCkMi4lKaRAcxe2MUpRZPPEuOQ+4+CD3/P+gil+pESRktnvrZKe+9aXIv/L0r5yt38uTJ3HDDDfblsLAw2rRpY1/+29/+xpdffsk333zD2LFjz3uc4cOHM2jQIACee+45XnnlFZYvX07v3r3P+5r//Oc/vP322+XW/fe//2XIkCH25Yceeohbb7213D4BAQG8/fbb9stcb731FoWFhbz33nsEBAQA8O9//5t+/frxf//3f0RFRZ3zdVVFYUhEXErTqCDK8GC/tQ5xZXvMEWUKQyJ2HTp0KLecn5/PM888w/fff09GRgalpaWcOHGC9PT0Cx4nMTHRPh8QEEBwcDCHDh264GuGDBnCX//613LrTgWX89UH0Lp163KBZvPmzbRp08YehACuueYabDYbaWlp9mP+/nVVRWFIRFyK/RllpdHEWU6GocY3XORVIhfn5+XBpsm9nPbeleXMAAHwyCOPMHv2bF588UUaNWqEn58ft912G8XFxRc8zu87NlssFmw22wVfExISQqNGjS6rvvOtuxQVfd3lUhgSEZcSFx6At4eVLWV16OWJOlFLpbFYLJV2qcqVLF68mOHDhzNgwADAbCnavXu3c4u6iObNmzNjxgwKCgrsgWfx4sVYrdYq7Sh9PuqVKCIuxcvDSkLtALafeiyHhteLXFDjxo354osvSE1NZe3atQwePPiiLTwVdfz4cTIzM8tNx44du+zjDBkyBF9fX4YNG8aGDRuYN28e48aN46677jrrslt1UBgSEZfTLDqIbcapu1BvAcNwbkEiLuyll16iVq1aXH311fTr149evXrRvn37Knmv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iKNHj1K7dm06d+7M0qVLqV27NgAvv/wyVquVgQMHUlRURK9evfjPf/7j5KpFRETElVTas8muVHo2mYiISM3jlGeTiYiIiNRECkMiIiLi1hSGRERExK0pDImIiIhbUxgSERERt6YwJCIiIm5NYUhERETcmsKQiIiIuDWFIREREXFrCkMiIiLi1hSGRERExK0pDImIiIhbUxgSERERt6YwJCIiIm5NYUhERETcmsKQiIiIuDWFIREREXFrCkMiIiLi1hSGRERExK0pDImIiIhbUxgSERERt6YwJCIiIm5NYUhERETcmsKQiIiIuDWFIREREXFrCkMiIiLi1hSGRERExK0pDImIiIhbUxgSERERt6YwJCIiIm5NYUhERETcmsKQiIiIuDWFIREREXFrCkMiIiLi1hSGRERExK3V6DA0ZcoUOnbsSFBQEJGRkfTv35+0tLRy+3Tr1g2LxVJuuv/++51UsYiIiLiaGh2GFixYwJgxY1i6dCmzZ8+mpKSEnj17UlBQUG6/kSNHkpGRYZ+mTp3qpIpFRETE1Xg6uwBH/PTTT+WWZ8yYQWRkJKtWraJLly729f7+/kRHR1d3eSIiIlID1OiWod/LyckBICwsrNz6mTNnEhERQatWrZg4cSLHjx93RnkiIiLigmp0y9CZbDYbDz30ENdccw2tWrWyrx88eDBxcXHExsaybt06HnvsMdLS0vjiiy/OeZyioiKKiorsy7m5uVVeu4iIiDjPFROGxowZw4YNG1i0aFG59aNGjbLPt27dmpiYGLp3786OHTto2LDhWceZMmUKkyZNqvJ6RURExDVcEZfJxo4dy3fffce8efOoW7fuBfdNTk4GYPv27efcPnHiRHJycuzT3r17K71eERERcR01umXIMAzGjRvHl19+yfz584mPj7/oa1JTUwGIiYk553YfHx98fHwqs0wRERFxYTU6DI0ZM4ZZs2bx9ddfExQURGZmJgAhISH4+fmxY8cOZs2aRd++fQkPD2fdunWMHz+eLl26kJiY6OTqRURExBVYDMMwnF1ERVkslnOunz59OsOHD2fv3r0MHTqUDRs2UFBQQL169RgwYABPPPEEwcHBl/Qeubm5hISEkJOTc8mvEREREee6nO/vGt0ydLEcV69ePRYsWFBN1YiIiEhNdEV0oBYRERGpKIUhERERcWsKQyIiIuLWFIZERETErSkMiYiIiFtTGBIRERG3pjAkIiIibk1hSERERNyawpCIiIi4NYUhERERcWsKQyIiIuLWFIZERETErSkMiYiIiFtTGBIRERG3pjAkIiIibk1hSERERNyawpCIiIi4NYUhERERcWsKQyIiIuLWFIZERETErSkMiYiIiFtTGBIRERG3pjAkIiIibk1hSERERNyawpCIiIi4NYUhERERcWsKQyIiIuLWFIZERETErSkMiYiIiFtTGBIRERG3pjAkIiIibk1hSERERNyawpCIiIi4NYUhERERcWsKQyIiIuLWFIZERETErblNGHrttddo0KABvr6+JCcns3z5cmeXJCIiIi7ALcLQxx9/zIQJE3j66adZvXo1bdq0oVevXhw6dMjZpYmIiIiTuUUYeumllxg5ciT33HMPLVq04I033sDf359p06Y5uzQRERFxMk9nF1DViouLWbVqFRMnTrSvs1qt9OjRgyVLlpy1f1FREUVFRfblnJwcAHJzc6u+WBEREakUp763DcO46L5XfBg6cuQIZWVlREVFlVsfFRXFli1bztp/ypQpTJo06az19erVq7IaRUREpGrk5eUREhJywX2u+DB0uSZOnMiECRPsyzabjaysLMLDw7FYLJX6Xrm5udSrV4+9e/cSHBxcqce+0uhcXR6dr0unc3XpdK4uj87XpauKc2UYBnl5ecTGxl503ys+DEVERODh4cHBgwfLrT948CDR0dFn7e/j44OPj0+5daGhoVVZIsHBwfqLcol0ri6Pztel07m6dDpXl0fn69JV9rm6WIvQKVd8B2pvb2+SkpKYO3eufZ3NZmPu3LmkpKQ4sTIRERFxBVd8yxDAhAkTGDZsGB06dKBTp07885//pKCggHvuucfZpYmIiIiTuUUYuuOOOzh8+DBPPfUUmZmZtG3blp9++umsTtXVzcfHh6effvqsy3JyNp2ry6Pzdel0ri6dztXl0fm6dM4+VxbjUsaciYiIiFyhrvg+QyIiIiIXojAkIiIibk1hSERERNyawpCIiIi4NYUhJ3nttddo0KABvr6+JCcns3z5cmeX5BKeeeYZLBZLualZs2b27YWFhYwZM4bw8HACAwMZOHDgWTfUvFItXLiQfv36ERsbi8Vi4auvviq33TAMnnrqKWJiYvDz86NHjx5s27at3D5ZWVkMGTKE4OBgQkNDGTFiBPn5+dX4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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制模型损失函数图\n",
    "def plot_history(result):\n",
    "\n",
    "    plt.figure()\n",
    "    plt.xlabel('Epoch')\n",
    "    plt.ylabel('Mean Abs Error [MPG]')\n",
    "    plt.plot(result['_epoch'], result['_mae'],\n",
    "           label='Train Error')\n",
    "    plt.plot(result['_epoch'], result['val_mae'],\n",
    "           label = 'Val Error')\n",
    "    plt.ylim([0,20])\n",
    "    plt.legend()\n",
    "\n",
    "    plt.figure()\n",
    "    plt.xlabel('Epoch')\n",
    "    plt.ylabel('Mean Square Error [$MPG^2$]')\n",
    "    plt.plot(result['_epoch'], result['_mse'],\n",
    "           label='Train Error')\n",
    "    plt.plot(result['_epoch'], result['val_mse'],\n",
    "           label = 'Val Error')\n",
    "    plt.ylim([0,200])\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "plot_history(result)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}